﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BibliotecaClasse;

namespace AlarmConsole001
{
     class Tela
    {

        /**
         * métodos para exibição na tela
         */
        public String header()
        {
            return "+-----------------------------------------------+"
               + "\n|  G E R E N C I A D O R    D E    A L A R M E  |"
               + "\n+-----------------------------------------------+";
        }

        public String pointer()
        {
            return "> ";
        }

        public String menu()
        {
            return " 1 - Cadastrar         "
                 +"\n 2 - Editar            "
                 +"\n 3 - Excluir           "
                 +"\n 4 - Listar            "
                 +"\n 0 - Sair              ";
        }

        public String warning()
        {
            return "\nATENÇÃO: Para que o alarme funcione é preciso ter o arquivo \"C:/Windows/Media/ringout.wav\"";
        }
    
        public String list()
        {
            return "\n ::::::::::::::.  LISTA DE ALARMES .:::::::::::::\n";
        }

        public String add()
        {
            return "\n ::::::::::::::.  ADICIONAR ALARME .::::::::::::\n";
        }

        public String edit()
        {
            return "\n :::::::::::::::.  EDITAR ALARME .::::::::::::::\n";
        }

        public String del()
        {
            return "\n :::::::::::::::.  DELETAR ALARME .:::::::::::::\n";
        }

        public String instrucaoEdit()
        {
            return "Instruções:"
                  +"\n 1. Digite o código do alarme que deseja editar."
                  +"\n 2. Insira os novos dados do alarme.";
        }

        public String notFound()
        {
            return "Alarme não encontrado!";
        }

        public String returnMsg()
        {
            return "\nPressione qualquer tecla para retornar à tela inicial.";
        }

        public String instrucaoDeletar()
        {
            return "Instruções:"
                  + "\n 1. Digite o código do alarme que deseja deletar.";
        }

        public String cod()
        {
            return "\n Cód: ";
        }

        public String day()
        {
            return "\n Dia (seg/ter/qua/qui/sex/sab/dom): ";
        }

        public String active()
        {
            return "\n Ativo (S/N): ";
        }

        public String hour()
        {
            return "\n Hora (HH:MM): ";
        }

        public String desc()
        {
            return "\n Descrição: ";
        }

        public String hr()
        {
            return "\n+-----------------------------------------------+\n";
        }


         /**
          * método retorna lista de alarmes em String para exibição na tela
          */
        public String ListarAlarmes(List<Alarme> lista)
        {
            String result = null;
            foreach (Alarme alarm in lista)
            {
                result += "\n    COD: " + alarm.Cod + " |.| HORA: " + alarm.Hora + " |.| DIA: " + alarm.Dia + "\n    ATIVO: " + alarm.Ativo + "\n    DESCRIÇÃO: " + alarm.Desc
                        + "\n    ____________________________________________";
            }
            return result;
        }


         /**
          * método retorna em String informações do alarme que está despertando no momento
          */
        public String ExibirAlarme(Alarme alarm)
        {

            return "\n    COD: " + alarm.Cod + " |.| HORA: " + alarm.Hora + " |.| DIA: " + alarm.Dia + "\n    ATIVO: " + alarm.Ativo + "\n    DESCRIÇÃO: " + alarm.Desc
                 + "\n    ____________________________________________";
            
        }
    }
}
